<?xml version="1.0" encoding="UTF-8" ?>
<class name="Engine" inherits="Object" category="Core" version="3.0.alpha.custom_build">
	<brief_description>
		Access to basic engine properties.
	</brief_description>
	<description>
		The [code]Engine[/code] class allows you to query and modify the game's run-time parameters, such as frames per second, time scale, and others.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="get_frames_drawn">
			<return type="int">
			</return>
			<description>
				Returns the total number of frames drawn.
			</description>
		</method>
		<method name="get_frames_per_second" qualifiers="const">
			<return type="float">
			</return>
			<description>
				Returns the frames per second of the running game.
			</description>
		</method>
		<method name="get_iterations_per_second" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the number of fixed iterations per second (for fixed process and physics).
			</description>
		</method>
		<method name="get_main_loop" qualifiers="const">
			<return type="MainLoop">
			</return>
			<description>
				Returns the main loop object (see [MainLoop] and [SceneTree]).
			</description>
		</method>
		<method name="get_target_fps" qualifiers="const">
			<return type="float">
			</return>
			<description>
				Returns the desired frames per second. If the hardware cannot keep up, this setting may not be respected. It defaults to 0, which indicates no limit.
			</description>
		</method>
		<method name="get_time_scale">
			<return type="float">
			</return>
			<description>
				Returns how fast or slow the in-game clock ticks versus the real life one. It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, whilst a value of 0.5 means the game moves at half the regular speed.
			</description>
		</method>
		<method name="get_version_info" qualifiers="const">
			<return type="Dictionary">
			</return>
			<description>
				Returns the current engine version information in a Dictionary.

				"major"    - Holds the major version number as a String
				"minor"    - Holds the minor version number as a String
				"patch"    - Holds the patch version number as a String
				"status"   - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
				"revision" - Holds the revision (e.g. "custom-build") as a String
				"string"   - major + minor + patch + status + revision in a single String
			</description>
		</method>
		<method name="is_editor_hint" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns [code]true[/code] if the editor is running.
			</description>
		</method>
		<method name="is_in_physics_frame" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns [code]true[/code] if the game is inside the fixed process and physics phase of the game loop.
			</description>
		</method>
		<method name="set_editor_hint">
			<return type="void">
			</return>
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
				Sets the running inside the editor hint if [code]enabled[/code] is [code]true[/code].
			</description>
		</method>
		<method name="set_iterations_per_second">
			<return type="void">
			</return>
			<argument index="0" name="iterations_per_second" type="int">
			</argument>
			<description>
				Sets the number of fixed iterations per second (for fixed process and physics).
			</description>
		</method>
		<method name="set_target_fps">
			<return type="void">
			</return>
			<argument index="0" name="target_fps" type="int">
			</argument>
			<description>
				Sets the target frames per second.
			</description>
		</method>
		<method name="set_time_scale">
			<return type="void">
			</return>
			<argument index="0" name="time_scale" type="float">
			</argument>
			<description>
				Sets the time scale.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
